package com.lk.api.own;

import android.app.IntentService;
import android.content.Intent;
import android.os.Binder;
import android.os.IBinder;
import android.util.Log;

/**
 *
 * @author lk
 *
 */
public class StartService extends IntentService {
	// �ӿڶ���
	IBinder MyBinder = new MyBinder();
	static int i=0;

	// ����IBinder�ӿ�ʵ��
	class MyBinder extends Binder {
		public String helloWorld(String name) {

			return "you name is:" + name;
		}

		/**
		 *
		 * @return ���ض��� StartService
		 */
		public StartService getService() {
			return StartService.this;
		}

	}

	public void helloService() {
		Log.d("helloService", "ok");
//		for (int i = 0; i < 10; i++) {
//			try {
//				Thread.sleep(1000);
//				Log.d("run", " " + i);
//			} catch (InterruptedException e) {
//				// TODO Auto-generated catch block
//				e.printStackTrace();
//			}
//		}
	}

	public StartService(String name) {
		super(name);
		// TODO Auto-generated constructor stub
		Log.d("StartService", "StartService");
	}

	public StartService() {
		super("ssss");
		// TODO Auto-generated constructor stub
	}

	@Override
	protected void onHandleIntent(Intent intent) {
		// TODO Auto-generated method stub
		Log.d("onHandleIntent", "onHandleIntent");
		helloService();
		for (int i = 0; i < 10; i++) {
			try {
				Thread.sleep(1000);
//				Log.d("run", " " + i);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

	@Override
	public void onCreate() {
		// TODO Auto-generated method stub
		Log.d("onCreate", "onCreate:"+(++i));
		super.onCreate();
	}

	// ������� �����onStartCommandȡ��
	// @Override
	// public void onStart(Intent intent, int startId) {
	// // TODO Auto-generated method stub
	// Log.d("onStart", "onStart");
	// super.onStart(intent, startId);
	// }

	@Override
	public int onStartCommand(Intent intent, int flags, int startId) {
		// TODO Auto-generated method stub
		Log.d("onStartCommand", "onStartCommand");
		return super.onStartCommand(intent, flags, startId);
	}

	@Override
	public void onDestroy() {
		// TODO Auto-generated method stub
		Log.d("onDestroy", "onDestroy");
		stopSelf();
		super.onDestroy();
	}

	@Override
	public IBinder onBind(Intent intent) {
		// TODO Auto-generated method stub
		Log.d("onBind", "onBind");
		// ��¶IBinder�ӿڶ���
		return MyBinder;
	}

	@Override
	public boolean onUnbind(Intent intent) {
		// TODO Auto-generated method stub
		Log.d("onUnbind", "onUnbind");
		return super.onUnbind(intent);
	}

}

// package com.example.myapisdemos.own;

// import android.app.Service;
// import android.content.Intent;
// import android.os.IBinder;
// import android.util.Log;
// ͬ��
// public class StartService extends Service {
// private int mStartId;
//
// public void helloService() {
// for (int i = 0; i < 100; i++) {
// try {
// Thread.sleep(1000);
// Log.d("run", " " + i);
// } catch (InterruptedException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// }
//
// }
//
// @Override
// public int onStartCommand(Intent intent, int flags, int startId) {
// // TODO Auto-generated method stub
// Log.d("onStartCommand", "onStartCommand");
// mStartId = startId;
//
// new Thread(new Runnable() {
//
// @Override
// public void run() {
// // TODO Auto-generated method stub
// helloService();
// // stopSelf(mStartId);
// }
// }).start();
//
// return super.onStartCommand(intent, flags, startId);
// }
//
// @Override
// public IBinder onBind(Intent intent) {
// // TODO Auto-generated method stub
// Log.d("onBind", "onBind");
// return null;
// }
//
// @Override
// public void onCreate() {
// // TODO Auto-generated method stub
// super.onCreate();
// Log.d("onCreate", "onCreate");
// }
//
// @Override
// public void onDestroy() {
// // TODO Auto-generated method stub
// Log.d("onDestroy", "onDestroy");
// super.onDestroy();
// }
//
// @Override
// public boolean onUnbind(Intent intent) {
// // TODO Auto-generated method stub
// Log.d("onUnbind", "onUnbind");
// return super.onUnbind(intent);
// }
//
// }
